package transport

import (
	"net"
	"time"
)

type Connection interface {
	SendData(data []byte) (int, error)
	// ReadData read a complete request/transaction data in block mode.
	ReadData() (data []byte, err error)
	RemoteAddr() net.Addr
	LocalAddr() net.Addr
	Close()
	SetReadDeadline(t time.Time) error
}
